In the recording, production and playback of audio, one important and widely used tool is equalization, the manipulation of signal level and phase as a function of frequency. Equalization may be used to correct problems in a recorded signal, for instance to eliminate unwanted resonances in a drum track by suppressing energy in selected frequency bands, or to reduce a singer's lisp by enhancing certain high frequencies. Equalization is also often used for artistic purposes to give each instrument its own space in the audio band, or to create a certain feel—different genres of music, for instance, typically have different characteristic power spectra.
In mixing and mastering, probably the most commonly used equalizers are parametric sections and shelf filters. Parametric sections enhance or suppress a selected band of frequencies, whereas shelf filters apply a gain to all frequencies either above or below a prescribed frequency. Both first-order and second-order shelf filters are used, with the second-order or so-called resonant shelf filters sometimes having a resonant peak on one side or the other of the transition between its low-frequency and high-frequency gains.
Analog equalizers, such as the Pultec EQP-1A from Pulse Techniques, Inc. of Englewood, N.J., are highly prized for their sonic characteristics and user controls. It is desired to make digital emulations of these analog equalizers for use with digital audio workstations so as to provide the advantages of a software environment, such as automation, along with the sought-after sonic characteristics of vintage equalizers.
One of the most important characteristics of an analog equalizer is its transfer function, which results from a set of s-plane poles and zeros. To emulate such a filter in discrete time, two prior art approaches are used. In the first, the analog prototype filter is converted to the z-plane via the bilinear transform, as shown in FIG. 1.
As is known, bilinear transforms map the entire continuous-time frequency axis onto the unit circle in the z-plane. See, e.g., A. V. Oppenheim and R. W. Schafer, Discrete-Time Signal Processing, Prentice Hall, 1989. Using a bilinear transform, analog prototype filters can be carried into the discrete-time domain while preserving filter order and stability. Through the use of the bilinear warping constant, a single frequency in the continuous-time domain can be positioned anywhere on the unit circle in the z-plane. All other frequencies will be displaced by various amounts, with the amount of warping becoming more severe near the Nyquist limit. Because of its increased warping at higher frequencies, the bilinear transform is a poor choice for discrete-time modeling of filters with features near the Nyquist limit.
Another prior art approach is to process the input signal at a high sampling rate, as shown in FIG. 2. By using a sufficiently large oversampling factor, the Nyquist limit may be moved much higher than the relevant filter features, and the warping of those features by the bilinear transform will be minimized. However, this approach has the drawback of additional computational cost, and also introduces artifacts due to the upsampling process.
In a prior art method applicable to parametric sections, and described in S. J. Orfanidis, “Digital Parametric Equalizer Design with Prescribed Nyquist-Frequency Gain”, Journal of the Audio Engineering Society, vol. 45, no. 6, pp. 444, June 1997, Orfanidis developed formulas which translate filter center frequency, gain and bandwidth into the coefficients of a second-order digital filter having a transfer function which interpolated the levels of the analog parametric filter at DC, the center frequency, and the Nyquist limit. This approach does not suffer from warping of the frequency axis as do the prior art methods based on the bilinear transform, and has the benefit that it is order preserving, and as such, the resulting filter is efficient to implement.
No such method is available for analog shelf filters. There remains a need in the art, therefore, to develop an efficient, order-preserving method for designing a digital filter having a transfer function which approximates that of an analog shelf filter.